package com.tjn.enum_;

public class EnumMethod {
    public static void main(String[] args) {

        Season02 autumn = Season02.AUTUMN;

        //toString:Enum 类已经重写过了，返回的是当前对象名,子类可以重写该方法，用于返回对象的属性信息
        System.out.println(autumn.toString());

        //name：返回当前对象名（常量名），子类中不能重写
        System.out.println(autumn.name());

        //ordinal：返回当前对象的位置号，默认从 0 开始,因为AUTUMN在Season2中的第三个位置，所以输出2
        System.out.println(autumn.ordinal());

        //values：返回当前枚举类中所有的常量
        Season02[] values = Season02.values();
        //增强for循环：依次从values中取出数据，赋给values，数据取完退出for循环
        for(Season02 value:values){
            System.out.println(value);
        }

        //valueOf：将字符串转换成枚举对象，要求字符串必须为已有的常量名，否则报异常
        Season02 spring = Season02.valueOf("SPRING");
        System.out.println(spring);
//        Season02 hello = Season02.valueOf("HELLO");
//        System.out.println(hello);

        //compareTo：比较两个枚举常量，比较的就是编号！
        System.out.println(Season02.SPRING.compareTo(Season02.SUMMER));
        //输出的结果是前一个对象的编号去减后面的对象的编号0-1=-1
    }
}
